草庐IT

c++ - boost::multiprecision::float128 和 C++11

全部标签

windows - 在 Windows 7 上构建 Boost 1.49

我正在尝试在Windows上构建Boost。我用了this例子。因此,在执行'bjamtoolset=gcc'后,我收到以下错误:**C:/boost/tools/build/v2/tools\gcc.jam:129:ingcc.initfrommodulegccerror:toolsetgccinitialization:error:nocommandprovided,defaultcommand'g++'notfounderror:initializedfromC:/boost/tools/build/v2/build\toolset.jam:38:intoolset.usingf

c++ - RegOpenKeyEx 的奇怪行为

在工作中我遇到了我们产品的一个奇怪的行为,发现可以归结为WindowsAPIRegOpenKeyEx的奇怪行为。下面是我的测试代码:#include#include#includeintmain(intargc,char*argv[]){HKEYhk;LONGlreturn=RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("Software\\MercuryInteractive\\LoadRunner\\Vugen\\Logger\\media"),0,KEY_READ,&hk);if(lreturn==ERROR_SUCCESS){printf("YES!

c++ - 我如何找到进程正在运行的物理套接字 ID/编号?

我想知道是否有任何方法可以找到当前进程正在运行的实际物理处理器/插槽号,或者提供逻辑处理器号的相同映射。我有一个8插槽系统,总共有128(0-127)个逻辑处理器。从我在msdn中读到的内容来看,它们将分为2个处理器组,每个处理器组有64个逻辑处理器。http://msdn.microsoft.com/en-us/library/dd405503我试过查看cpuid和GetNumaProcessorNodeEx从cpuid,APICid帮助识别逻辑处理器ID,从GetNumaProcessorNodeEx,我得到numa节点(我发现如果有64个或更少数量的逻辑处理器,这很有用)如果逻辑

c - 在 Windows 上安装定时器/时钟 ISR - 单线程环境中的异步调用

我正在改进一些代码,这些代码模拟了x86Windows系统上的上下文切换调度程序。该程序使用一些古老的BorlandC编译器在WindowsXP(编辑:可能不是Windows7)上编译,并且正在移植为MSVC可编译。有一次,代码通过dos.h中的这些不可用函数安装ISR:void(*)()getvect(int)voidsetvect(int,void(*)());具体来说,代码为(循环)定时器中断安装了一个ISR。这些电话是:tick_isr_old=getvect(0x08);setvect(0xF2,tick_isr_old);setvect(0x08,(voidinterrup

c - 在 Windows 上获取目录中的每个文件

我目前正在处理一个C项目,我需要扫描一个目录并获取该目录中每个文件的文件名。代码需要在Windows和Linux上运行。我有使用以下代码的linux版本。DIR*dp;inti=0;structdirent*ep;charlogPath[FILE_PATH_BUF_LEN];sprintf(logPath,"%s/logs/",logRotateConfiguration->logFileDir);printf("Checkingpreexistinglogcountin:%s\n",logPath);dp=opendir(logPath);if(dp!=NULL){while((ep

c - Windows 上 C 中的目录列表

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoyougetadirectorylistinginC?ListingdirectorycontentsusingCandWindows如何编写一个递归列出目录的程序,就像命令提示符中的dir/sC:\一样?

c - 键盘映射的后台c程序

我在我的windows8系统中安装了一个BrammaTTF文件。通过windows字符映射表,我能够找到单个字符代码。下面附上map截图。我们可以在右下方看到“!”的字符代码。是0x21。同样,我可以找到所有其他字母的所有字符代码。现在,我使用基于美国的键盘布局为该字体定义了一个字符映射。例如,我将键盘中的物理字符“a”映射到第3行和第1列中显示的字符。[每当我从键盘上按'a'时,必须显示相应的字符]我想编写一个后台C程序,以便它监听键盘敲击,并且根据我之前定义的字符映射,我的C程序应该输出映射的字符。即,当我从键盘敲击字符“a”时,它应该返回映射的字符。谁能帮我解决这个问题,或者只是

c++ - 如何打开只有 FILE_READ_ATTRIBUTES 权限的文件?

我想从非管理员程序发出FSCTL_GET_NTFS_VOLUME_DATA控制代码。该文档说“打开卷时,FILE_READ_ATTRIBUTES或FILE_WRITE_ATTRIBUTES访问权限就足够了”,所以我相信这应该是可能的。我尝试了路径和卷路径:"\.\C:""\?\Volume{4f26a671-c36e-11e2-913d-806e6f6e6963}"虽然我可以打开它们,但对DeviceIOControl的调用将仅适用于GENERIC_READ|GENERIC_WRITE。这是代码:intmain(){char*mount="\\\\.\\C:";HANDLEhHandl

c - getaddrinfo() - Linux 与 Windows

在Linux中,我可以调用getaddrinfo()到本地套接字getaddrinfo(NULL,port,&hints,&servinfo)来创建这样的列表:IPv4:0.0.0.0|socktype:1|protocol:6IPv4:0.0.0.0|socktype:2|protocol:17IPv4:0.0.0.0|socktype:3|protocol:0IPv6:::|socktype:1|protocol:6IPv6:::|socktype:2|protocol:17IPv6:::|socktype:3|protocol:0而在Windows中,任何与本地机器相关的调用"N

c++ - 如何使用程序集获取返回 float 的 __stdcall 函数的结果

我有一个汇编例程,它以通用方式调用已知使用stdcall约定的函数并返回一个float。编码框架使用此函数将stdcall函数公开给脚本语言。背景这是在MinGW4.3、Win32上编译的使用GNU内联汇编的函数:inlineuint64_tstdcall_invoke_return_float(intargs_size_bytes,constchar*args_ptr,void*func_ptr){uint64_tresult;assert(0==args_size_bytes%4||!"argumentsizemustbeamultipleof4bytes");#ifdefined